﻿using System;

namespace MyForthCSharp
{
    class Program
    {/// <summary>
     /// 字符移动小游戏
     /// </summary>
     /// <param name="args"></param>
        static void Main(string[] args)
        {
            //改变字体颜色
            Console.ForegroundColor = ConsoleColor.Green;
            //设置光标隐藏
            Console.CursorVisible = false;
            //设置坐标
            int x = 0, y = 0;
            //定义ConsoleKey枚举类变量input
            ConsoleKey input;
            //开始循环(每输入一次循环一次，不停地输入WASD键控制移动）
            do
            {   //将之前的信息清除
                Console.Clear();
                //设置光标位置
                Console.SetCursorPosition(x, y);
                Console.Write("hello");
                //使用Console.ReadKey(true).Key读取用户按键，类型是ConsoleKey枚举类型
                input = Console.ReadKey(true).Key;
                switch (input)
                {
                    case ConsoleKey.W:
                        //判断是否越界
                        if (y > 0)
                            y--;
                        break;
                    case ConsoleKey.S:
                        y++;
                        //判断是否超过缓冲区的高
                        if (y > Console.BufferHeight - 1)
                            y = Console.BufferHeight - 1;
                        break;
                    case ConsoleKey.A:
                        if (x > 0)
                            x--;
                        break;
                    case ConsoleKey.D:
                        x++;
                        //判断是否超过缓冲区的宽
                        if (y > Console.BufferWidth - 1)
                            y = Console.BufferWidth - 1;
                        break;
                }
            } while (input != ConsoleKey.Enter);//按下回车程序结束
        }
    }
}